package com.googlecode.imanager.client.bridge.style;

import com.googlecode.imanager.client.Control;
import com.googlecode.imanager.client.style.Style;
import com.googlecode.imanager.client.util.ControlState;

/**
 * @author wellsantos@wellsantos.com
 * @since 0.01
 */
public interface ITheme {
    
    Style getStyle(String controlClassName);
    
    Style getStyle(String controlClassName, int stateFlags);
    
    Style getStyle(String controlClassName, ControlState... states);
    
    Style getStyle(Class<? extends Control> controlClass);
    
    Style getStyle(Class<? extends Control> controlClass, int stateFlags);
    
    Style getStyle(Class<? extends Control> controlClass, ControlState... states);
    
}
